package com.gopay.common.domain.ep;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Id;
import javax.persistence.Table;

import com.gopay.common.constants.ep.EpCardType;
import com.gopay.common.domain.BaseEntity;

/**
 * 快捷支付卡bean
 * 
 * @EpCardBnin.java
 * @author zhangjunyu
 * @2014-8-29 上午11:06:09 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "EP_CARD_BIN")
public class EpCardBin extends BaseEntity {

    private static final long serialVersionUID = 3822382973073784818L;

    /**
     * ID
     */
    @Id
    @Column(name = "ID", unique = true, nullable = false)
    private java.lang.String id;

    /**
     * 支付服务商名称
     */
    @Column(name = "BANK_FULLNAME")
    private java.lang.String bankFullname;

    /**
     * 卡号前部号码
     */
    @Column(name = "CARD_FRONT_NO")
    private java.lang.String cardFrontNo;

    /**
     * 卡号前部号码长度
     */
    @Column(name = "CARD_FRONT_LENGTH")
    private java.lang.Integer cardFrontLength;

    /**
     * 卡号长度
     */
    @Column(name = "CARD_LENGTH")
    private java.lang.Integer cardLength;

    /**
     * 卡BIN状态 目前是固定值：2
     */
    @Column(name = "CARD_BIN_STATUS")
    private java.lang.String cardBinStatus;

    /**
     * 卡名称
     */
    @Column(name = "CARD_NAME")
    private java.lang.String cardName;

    /**
     * 卡类型 0 借记卡 1 贷记卡 2 准贷记卡 3 预付费卡
     */
    @Column(name = "CARD_TYPE", nullable = false)
    @Enumerated(EnumType.ORDINAL)
    private EpCardType cardType;

    /**
     * 卡BIN银行码
     */
    @Column(name = "BIN_BANK_CODE")
    private java.lang.String binBankCode;

    public java.lang.String getId() {
        return id;
    }

    public void setId(java.lang.String id) {
        this.id = id;
    }

    public java.lang.String getBankFullname() {
        return bankFullname;
    }

    public void setBankFullname(java.lang.String bankFullname) {
        this.bankFullname = bankFullname;
    }

    public java.lang.String getCardFrontNo() {
        return cardFrontNo;
    }

    public void setCardFrontNo(java.lang.String cardFrontNo) {
        this.cardFrontNo = cardFrontNo;
    }

    public java.lang.Integer getCardFrontLength() {
        return cardFrontLength;
    }

    public void setCardFrontLength(java.lang.Integer cardFrontLength) {
        this.cardFrontLength = cardFrontLength;
    }

    public java.lang.Integer getCardLength() {
        return cardLength;
    }

    public void setCardLength(java.lang.Integer cardLength) {
        this.cardLength = cardLength;
    }

    public java.lang.String getCardBinStatus() {
        return cardBinStatus;
    }

    public void setCardBinStatus(java.lang.String cardBinStatus) {
        this.cardBinStatus = cardBinStatus;
    }

    public java.lang.String getCardName() {
        return cardName;
    }

    public void setCardName(java.lang.String cardName) {
        this.cardName = cardName;
    }

    public EpCardType getCardType() {
        return cardType;
    }

    public void setCardType(EpCardType cardType) {
        this.cardType = cardType;
    }

    public java.lang.String getBinBankCode() {
        return binBankCode;
    }

    public void setBinBankCode(java.lang.String binBankCode) {
        this.binBankCode = binBankCode;
    }

}
